#ifndef _STRAWGUI_TEXTURE_PRESET_H_
#define _STRAWGUI_TEXTURE_PRESET_H_

#include "sResourcePreset.h"
#include "sConfig.h"
#include "sNamedObjectContainer.h"
#include <set>

namespace sgui
{
namespace res
{
	class sTextureResource;
};
namespace preset
{    
    static const std::wstring PRESET_TEXTURE = L"PTEX";

	class sTexturePreset : public sPreset
	{
    private:
        bool            m_alphaChannel;
	public:
        void setAlphaChannel(const bool& alpha) { m_alphaChannel = alpha; }
        const bool& getAlphaChannel() const { return m_alphaChannel; }
		
        engine::sEngineItem* createEngineItem(engine::sEngine& engine);

		void load(const db::Record &file);
		void save(db::Record &file) const;
        void clear();
        const std::wstring getClass() const { return PRESET_TEXTURE; };

#ifdef _EDITOR
		void exportRTTI(rtti::sInfoList& list);
#endif

		sTexturePreset(sGUI&gui, const std::wstring& name, const res::sTextureResource& resource);
        ~sTexturePreset();
	};

};
};

#endif